/**
 * 日期格式化工具类
 */
import moment from 'moment'

/**
 * 格式化日期
 * @param date 日期对象或字符串
 * @param format 格式化模式，例如：YYYY-MM-DD
 * @returns {string} 格式化后的日期字符串
 */
export function formatDate(date, format) {
  if (!date) {
    return '';
  }
  
  if (date === 'Invalid Date') {
    return '';
  }
  
  return moment(date).format(format);
}

/**
 * 获取当前日期时间
 * @param format 格式化模式，默认YYYY-MM-DD HH:mm:ss
 * @returns {string} 当前日期时间字符串
 */
export function getCurrentDate(format = 'YYYY-MM-DD HH:mm:ss') {
  return moment().format(format);
}

/**
 * 解析日期字符串为Moment对象
 * @param dateStr 日期字符串
 * @param format 日期格式
 * @returns {*} Moment对象
 */
export function parseDate(dateStr, format) {
  if (!dateStr) {
    return null;
  }
  return moment(dateStr, format);
}

/**
 * 计算两个日期之间的天数差
 * @param startDate 开始日期
 * @param endDate 结束日期
 * @returns {number} 天数差
 */
export function getDayDiff(startDate, endDate) {
  const start = moment(startDate);
  const end = moment(endDate);
  return end.diff(start, 'days');
} 